

var item = "<div class='cls_item' id='{id}' parentid1='{parentId1}' parentId2='{parentId2}'><div class='c_name'>{c_name}</div><div class='div_pen'><div class='c_pen'  onclick='updateCls(this)'><img class='h_ts' src='img/Edit3.png' /></div></div><div class='right'><div class='c_plus' onclick = 'addCls(this)'><img class='h_ts' src='img/add3.png' /></div><div class='c_del' onclick='delCls(this)'><img class='h_ts' src='img/Delete3.png' /></div></div></div>";

//大类
var item1 = "<li><div class='group1'>" + item + "<div class='switch'  onclick = 'dropDown(this);'><i class='fa fa-angle-down'></i></div></div><ul class = 'none'></ul></li>";


//子类
var item2 = "<li>" + item + "<ul></ul></li>";


$(document).ready(function () {

    loadCls();
    repairStyle()
    addListener();
    $("#addClass").bind("click", function () {
        //添加大类
        dialog.inputBox("添加", "分类", function (val) {

            val = $.trim(val);

            if (val.length > 0 && val.length < 7) {
                ajax.addGroup(val, 0, 0, function (json) {

                    toast.show(json.msg);
                    if (json.code != 0) {
                        return;
                    }
                    $($(".cls-div").children()).append(item1.replace(/{c_name}/g, val).replace(/{id}/g, json.item).replace(/{parentId1}/g, 0).replace(/{parentId2}/g, 0));

                    //更新分类数
                    $("#clsNum").text($(".cls_item").length);
                });
            }
            else if (val.length < 1) {
                alert("分类名不能为空");
            }
            else {
                toast.show("分类名长度不能超过6个字符");
            }
        }, null);
    });
});



//加载分类
function loadCls() {
    var data = eval($("#data").text());

    if (data.length < 1) {
        return;
    }


    //加载大类
    for (var i in data) {
        if (data[i].parentId1 == 0 && data[i].parentId2 == 0) {
            $($(".cls-div").children()).append(item1.replace(/{c_name}/g, data[i].name).replace(/{id}/g, data[i].id).replace(/{parentId1}/g, 0).replace(/{parentId2}/g, 0));
        }
    }

    //加载二级分类
    for (var i in data) {
        var id = data[i].id;
        var parentId1 = data[i].parentId1;
        var parentId2 = data[i].parentId2;
        if (parentId1 == 0 && parentId2 == 0) {

            for (var j in data) {
                if (data[j].parentId1 == id && data[j].parentId2 == 0) {

                    var _id = data[j].id;
                    var _name = data[j].name;
                    var _parentId1 = id;
                    var _parentId2 = 0;
                    $($("#" + id).parent().next()).append(item2.replace(/{c_name}/g, _name).replace(/{id}/g, _id).replace(/{parentId1}/g, _parentId1).replace(/{parentId2}/g, _parentId2));
                }
            }
        }
    }



    //加载三级分类
    for (var i in data) {
        var id = data[i].id;
        var parentId1 = data[i].parentId1;
        var parentId2 = data[i].parentId2;
        if (parentId1 != 0 && parentId2 == 0) {

            for (var j in data) {
                if (data[j].parentId2 == id) {

                    var _id = data[j].id;
                    var _name = data[j].name;
                    var _parentId1 = parentId1;
                    var _parentId2 = id;
                    $($("#" + id).next()).append(item2.replace(/{c_name}/g, _name).replace(/{id}/g, _id).replace(/{parentId1}/g, _parentId1).replace(/{parentId2}/g, _parentId2));
                }
            }
        }
    }


    //更新分类数
    $("#clsNum").text($(".cls_item").length);
    //    alert(JSON.stringify(data));
}



//修复样式
function repairStyle() {

    //二级目录
    var second = $(".cls-div > ul > li");

    //遍历一级目录
    for (var i = 0; i < second.length; i++) {
        var ul2 = $(second[i]).children("ul");
        if (ul2.length > 0) {
            handleLine(ul2[0]);
        }
    }
}

//处理虚线
function handleLine(ul) {

    var li2 = $(ul).children("li");

    if (li2.length > 0) {

        //在二级分类开始处插入<li class = 'first'></li>  配合使用橙色的虚线
        if ($(li2[0]).attr("class") != "first") {
            $(ul).prepend("<li class = 'first'></li>");
        }

        li2.removeClass("end");
        $(li2[li2.length - 1]).addClass("end");

        //遍历二级目录
        for (var i = 0; i < li2.length; i++) {

            var ul3 = $(li2[i]).children("ul");
            if (ul3.length > 0) {
                handleLine(ul3[0]);
            }
        }
    }
}


//打开或关闭下拉菜单
function dropDown(self) {
    var ul = $(self).parent().next();

    var className = $(ul).attr("class");

    if (className && className.indexOf("none") != 1) {
        $(ul).removeClass("none");
        $($(self).children()).removeClass("fa-angle-down");
        $($(self).children()).addClass("fa-angle-up");
    }
    else {
        $(ul).addClass("none");
        $($(self).children()).removeClass("fa-angle-up");
        $($(self).children()).addClass("fa-angle-down");
    }
}


//添加子类
function addCls(self) {

    //定位到分类信息div
    var clsItem = $(self).parent().parent();

    var id = $(clsItem).attr("id");
    var parentId1 = $(clsItem).attr("parentId1");
    var parentId2 = $(clsItem).attr("parentId2");


    //添加大类
    dialog.inputBox("添加", "分类名", function (val) {




        val = $.trim(val);
        if (val.length < 1) {
            toast.show("分类名不能为空");
            return;
        }
        else if (val.length > 6) {
            toast.show("分类名长度不能超过6个字符");
            return;
        }
        else {
            ;
        }

        var p1 = 0;
        var p2 = 0;

        if (parentId1 == 0) {
            p1 = id;
        }
        else {
            p1 = parentId1;
            p2 = id;
        }

        ajax.addGroup(val, p1, p2, function (json) {

            toast.show(json.msg);
            if (json.code != 0) {
                return;
            }

            var html = item2.replace(/{c_name}/g, val).replace(/{id}/g, json.item);
            if (parentId1 == 0) {
                //一级分类
                $($(clsItem).parent().next()).append(html.replace(/{parentId1}/g, id).replace(/{parentId2}/g, 0));
                $($(clsItem).parent().next()).removeClass("none");

            }
            else if (parentId2 == 0) {
                //二级分类
                $($(clsItem).next()).append(html.replace(/{parentId1}/g, parentId1).replace(/{parentId2}/g, id));

            }
            else {
                ;
            }
            repairStyle();

            //更新分类数
            $("#clsNum").text($(".cls_item").length);
        });

    }, null);

}

//删除分类操作
function delCls(self) {

    //定位到分类信息div
    var clsItem = $(self).parent().parent();

    var id = $(clsItem).attr("id");
    var parentId1 = $(clsItem).attr("parentId1");
    var parentId2 = $(clsItem).attr("parentId2");

    dialog.confirm("删除", "你确定要删除?", function () {

        ajax.delGroup(id, function (json) {

            toast.show(json.msg);
            if (json.code != 0) {
                return;
            }

            if (parentId1 == 0) {
                //一级分类
                $($(clsItem).parent().parent()).remove();
            }
            else if (parentId2 == 0) {
                //二级分类

                if ($(parent).parent().siblings().length == 1) {
                    //该级别的分类删完了
                    $($(clsItem).parent().parent()).empty();
                }
                else {
                    $($(clsItem).parent()).remove();
                }
            }
            else {
                //三级分类

                if ($(clsItem).parent().siblings().length == 1) {
                    //该级别的分类删完了
                    $($(clsItem).parent().parent()).empty();
                }
                else {
                    $($(clsItem).parent()).remove();
                }
            }
            repairStyle();

            //更新分类数
            $("#clsNum").text($(".cls_item").length);
        });
    }, null);
}

function updateCls(self) {

    //定位到分类信息div
    var clsItem = $(self).parent().parent();
    var id = $(clsItem).attr("id");

    dialog.inputBox("修改", "分类名", function (val) {
        ajax.updateName(id, val, function (json) {
            toast.show(json.msg);
            if (json.code != 0) {
                return;
            }
            $($(clsItem).children()[0]).text(val);

        });
    });

}



function addListener() {

    //改变状态
    $(".col4 img").bind("click", function () {

        //产品id
        var id = $($(this).parent().parent()).attr("id");

        var statuscfg = -1;

        var msg = "确定要{statuscfg}该产品?";

        //判断上架或下架
        if ($.trim($($(this).prev()).text()) == "上架") {
            //当前状态为上架  需要修改为下架
            statuscfg = 3;
            msg = msg.replace(/{statuscfg}/g, "下架");
        }
        else {
            statuscfg = 1;
            msg = msg.replace(/{statuscfg}/g, "上架");
        }

        dialog.confirm("上架/下架", msg, function () {
            chanageState(id, statuscfg);
        }, null);
    });

    //删掉产品
    $(".del").bind("click", function () {

        //产品id
        var id = $($(this).parent().parent()).attr("id");

        var statuscfg = 2;

        dialog.confirm("操作", "确定要删除该产品?", function () {
            chanageState(id, statuscfg);
        }, null);
    });

    //编辑
    $(".edit").bind("click", function () {

        //产品id
        var id = $($(this).parent().parent()).attr("id");
        ToUrl("product_add.aspx?id=" + id);
    });
}



//改变状态
function chanageState(id, statuscfg) {

    ajax.changeState(id, 1, statuscfg, function (json) {
        toast.show(json.msg);
        if (json.code != 0) {

            if (json.code == 2) {
                ToUrl("../login.html");
            }
            return;
        }

        var tr_html = $("<p>").append($("#" + id).clone()).html();
        $("#" + id).remove();

        if (statuscfg == 1) {
            $("#tab1 #tbody1").append(tr_html);
        }
        else if (statuscfg == 3) {
            $("#tab2 #tbody2").append(tr_html);
        }
        else {
            ;
        }

        //上架数量
        var tab1_num = $("#tab1 #tbody1").children().length;
        var tab2_num = $("#tab2 #tbody2").children().length;
        $("#count_3").html(tab2_num);
        $("#count_1").html(tab1_num);
        var total = parseInt($("#count").html());
        if (total > 0)
            total--;
        $("#count").html(total);

    });
}


var pager = new Pager();

var p_html = "<tr id = {id}><td><a href = 'product_add.aspx?id={id}'>{title}</a></td><td>{groupname}</td><td>{key_num}个</td><td class='col4'><span>{status_name}</span><img src='img/{status_img}.jpg' /></td><td>{updatedate}</td><td><div class='edit'><img class='edit_ts' src='img/Edit3.png' /></div><div class='del'><img class='del_ts' src='img/Delete3.png' /></div></td></tr>";

//上架产品列表获取
function getProductList(page) {
    var statuscfg = 1;
    if ($("#tab1").attr("class").indexOf("none") == -1) {
        statuscfg = 1;
    }
    else if ($("#tab2").attr("class").indexOf("none") == -1) {
        statuscfg = 3;
    }
    else {
        return;
    }


    if (wait.isShow) {
        return;
    }

    getData(page, statuscfg);
}


//ajax加载数据
function getData(page, statuscfg) {

    var source = 1; //0代表微讯  1代表产品

    var _html = p_html;

    if (statuscfg == 1) {
        _html = _html.replace(/{status_name}/g, "上架").replace(/{status_img}/g, "Sucess");
    }
    else if (statuscfg == 3) {
        _html = _html.replace(/{status_name}/g, "下架").replace(/{status_img}/g, "Error");
    }
    else {
        return;
    }

    ajax.getProductList(page, source, statuscfg, function (json) {
        if (json.code != 0) {

            //没有数据就不要提示
            if (json.code != 3) {
                toast.show(json.msg);
            }

            if (($("#tab1").attr("class").indexOf("none") == -1 && statuscfg == 1) || ($("#tab2").attr("class").indexOf("none") == -1 && statuscfg == 3)) {
                pager.dismiss();
            }

            return;
        }
        var tbody = null;
        if (statuscfg == 1) {
            tbody = $("#tbody1");
        }
        else {
            tbody = $("#tbody2");
        }

        $(tbody).empty();
        var list = json.item.Table;
        $("#count_" + statuscfg).html(json.item.total); //产品数
        for (var i in list) {
            $(tbody).append(_html.replace(/{id}/g, list[i].id).replace(/{title}/g, list[i].title).replace(/{groupname}/g, list[i].groupname).replace(/{key_num}/g, list[i].keywords.split(",").length).replace(/{updatedate}/g, list[i].updatedate));
        }

        if (($("#tab1").attr("class").indexOf("none") == -1 && statuscfg == 1) || ($("#tab2").attr("class").indexOf("none") == -1 && statuscfg == 3)) {
            pager.initPage(page, json.item.total, json.item.pagesize, 5, getProductList);
        }

        addListener();
    });
}












